Computer networks of today offer a wide range of services delivered by several service providers. The service provider offers data communication means to clients in the service provider's own network as well as access to the Internet via their own network. The product that the service provider sells is bandwidth internally within the own network and bandwidth out to the Internet. There is a major interest in Internet and data communications today leading to higher demands for bandwidth within the service provider's network as well as out to the Internet. This leads to a demand from the service providers of the computer networks for methods and equipments that make it possible to offer tailored services to their clients, thus enabling optimized utilization of the network. Further the service providers want the methods and equipments to provide good control and monitoring means such that the service provider can make sure that the offered quality for a particular type of service is fulfilled by means of sufficient bandwidth being provided.
In computer networks, data is transmitted in data packets. The type of data network of the service provider may vary. Examples of different types of data networks are Ethernet, Token Ring, Dynamic synchronous Transfer Mode (DTM), Asynchronous Transfer Mode (ATM) and (POS) Packet over Synchronous optical networking (SONET)/Synchronous Digital Hierarchy (SDH). The data network of the service provider can be connected to the Internet by means of at least one gateway/router which functions as a boarder gateway between the Internet and the data network of the service provider. The gateway/router is adapted to exchange routing data between different types of protocols. Internet is based on the protocol suite called Internet Protocol (IP). The data network of the service provider is also based on IP. Data packets which originate from the data network of the service provider and are to be transmitted out on the global Internet must be routed to the destination IP based on routing information obtained via a routing protocol.
The data network of the service provider typically further comprise routers routing the data packets within the data network and access nodes at the periphery of the data network adapted to connect client devices to the data network. Examples of client devices are a Voice over IP (VoIP) phone, a game consol, a set-top-box (STB), a network radio or a computer (PC). The client devices are connected to the access nodes via client interfaces, such as e.g. fiber converters, modems such as Asymmetric Digital Subscriber Line (ADSL) modems, Home Gateways, Optical Line Termination (OLT), Ethernet Switches, Routers, etc. The client interface is typically also built into the client device, such as an Ethernet interface or a modem inside a computer. In the case of a home or business local network with several client devices, it is common for the local network to use a single point of connection, i.e. only one client interface, such as e.g. a Customer Premises Equipment (CPE) or a Residential Gateway (RG). I.e. several different client devices are connected to the access node of the service provider's data network via only one client interface.
As mentioned above, each client interface can have several different client devices, enabling different services, connected to the service provider's data network. These different services, enabled by the different client devices often have different requirements regarding network Quality of Service (QoS), such as e.g. different requirements regarding performance, tolerance to packet loss, low latency, delay variation and/or bandwidth. The data networks of today are built to support multiple services requiring different levels of Quality of Service (QoS). Many different approaches to obtain QoS are used, such as Resource ReSerVation Protocol (RSVP) which is used by routers to request and/or deliver specific levels of QoS for application data streams or flows. Other examples are Integrated Services (IntServ) and Differentiated Services (DiffServ). IntServ explicitly manages the network resources to provide QoS to specific user packet streams/flows in networks. DiffServ first categorizes the data traffic into a standardized set of traffic classes, such as e.g. the Class of Service (CoS). The data of the traffic classes is thereafter treated differently to differentiate service. For example, each traffic class may be subject to a different rate limit, shaped separately and/or prioritized relative to other traffic classes.
Today the configuration of these network QoS and or CoS levels are static and enforced when the end-user traffic reach a node controlled by the network operator, i.e. the access node such as e.g. DSLAM and/or the edge router at the ingress or egress point of the data network. By enforced means that the node controlled by the network operator, i.e. the access node and/or the edge router, is adapted to re-set the QoS settings. This may be the case if the client device sends in data traffic with wrong QoS settings, such as e.g. highest priority, then the node re-sets the QoS setting to the QoS settings previously agreed upon.
The existing technology for setting up the QoS handling is by pre-configured policies in the network. The setting up technology is limited to the nodes and devices under direct control of the network operator. Signaled reservations such as RSVP also exist, but these reservations puts very high demand on the network nodes to keep reservation states. This makes it difficult to get end-to-end network QoS all the way from the client device to the service/network provider's service equipment such as e.g. video server, game server, voice gateway, etc., since the client device seldom is controlled by the network operator.
Because of these limitations most of the current network implementations have a “one service per client device”, meaning that one client interface is connected to only one service. In these implementations, it is quite common that the client interface of the client device is connected to a specific port of a residential gateway, access node, switch or router giving specific QoS settings. These QoS settings are not applicable in the client device, thus this is not end-to-end QoS. Further it is not possible for one client device and/or one client interface to support multiple services with different QoS parameter settings using this method, since all traffic from the client interface of the client device gets the same QoS treatment.
Sometimes, when the client device is at least partly controlled by the provider, specific configuration in the client interface of the client device is used to identify the client device and set the appropriate QoS for that client device. Such specific configuration may be e.g. the physical address of the client interface such as the Media Access Control (MAC) address or the logical address of the client interface such as the IP address of the client interface. However, these approaches give limitations in using multiple services per device or requires complicated configuration of the client interface of the client device, and quite often this client interface is not under the control of the service provider.
Another way of achieving QoS is to use the Dynamic Host Configuration Protocol (DHCP). DHCP is a protocol used by networked devices such as client devices to obtain various parameters, such as Internet Protocol (IP) address, necessary for the networked client devices to operate in an IP network. A DHCP server manages a pool of IP addresses and information about client configuration parameters such as e.g. the “default gateway”. The “default gateway” is the network node of a data network that serves as the exit point to other networks. According to the DHCP dynamic allocation mode for allocating IP addresses each DHCP client in a data network is configured to request an IP address from the DHCP server during network initialization. This is a request-and-grant process which uses a lease concept with a controllable time period which means that the requested and granted IP address is only valid during a specified time period, thus allowing the DHCP server to reclaim (and then reallocate) IP addresses that are not renewed, i.e. dynamic re-use of IP addresses. The DHCP concept also includes DHCP forwarders and DHCP intermediate agents adapted to propagate the broadcast DHCP message across the router interfaces, without any special processing and DHCP Relay Agents, which relays DHCP messages between DHCP clients and DHCP servers wherein the DHCP clients and DHCP servers may be located on different IP networks. The DHCP Relay agent intercepts the DHCP messages and makes changes to the DHCP Message, such as forwarding the DHCP Message via a directed datagram to a specific DHCP Server, such as e.g. to the DHCP server dedicated to the subnet wherein the DHCP client who sent the DHCP message is located. The DHCP Relay Agent is configured with addresses of DHCP Servers to which they should relay the DHCP Messages.
The DHCP protocol may be used to set QoS parameters, such as CoS parameters, in client devices but these are limited to one logical address, such as e.g. the Ethernet/IP address, and/or one QoS category such as e.g. one Ethernet Priority bit (P-bit) and/or IP Type Of Service (TOS) and/or DiffServ CoS per client device and/or client interface.
This means that all data traffic from the client interface of the client device gets the same QoS treatment. This works for a single service device like a Voice over IP phone. However it is not possible for one device to support multiple services with different QoS parameter settings, since all traffic from the device gets the same QoS treatment.
Thus it is difficult to get end-to-end QoS all the way from a client device, and even more difficult to use different QoS for different services from one single client device. The same problems arise for the case of a local home or business network with several client devices connected to the data network using only one common client interface wherein the data network provides the IP addresses, such as e.g. by the use of network and/or port address translation gateways.